import { createI18n } from 'vue-i18n'
import zhCN from './locales/zh-CN'
import enUS from './locales/en-US'

// 从 localStorage 获取保存的语言设置，优先使用 language，如果没有则使用 locale，都没有则默认使用中文
const savedLocale = localStorage.getItem('language') || localStorage.getItem('locale') || 'zh-CN'

const i18n = createI18n({
  legacy: false,
  locale: savedLocale,
  fallbackLocale: 'zh-CN',
  messages: {
    'zh-CN': zhCN,
    'en-US': enUS
  },
  globalInjection: true,
  silentTranslationWarn: true,
  silentFallbackWarn: true
})

// 导出切换语言的方法
export const setLocale = (locale: string) => {
  i18n.global.locale.value = locale
  // 同时保存到 language 和 locale
  localStorage.setItem('language', locale)
  localStorage.setItem('locale', locale)
}

export default i18n 